package com.company.main;

import org.junit.Assert;
import org.junit.jupiter.api.Test;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * 给定一个仅包含数字 2-9 的字符串，返回所有它能表示的字母组合。
 *
 * 给出数字到字母的映射如下（与电话按键相同）。注意 1 不对应任何字母。
 *
 * 示例:
 *
 * 输入："23"
 * 输出：["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].
 * 说明:
 * 尽管上面的答案是按字典序排列的，但是你可以任意选择答案输出的顺序。
 *
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number
 * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 */
public class LetterCombinations {
    public List<String> letterCombinations(String digits) {
        List<String> listDigit2 = Arrays.asList("a", "b", "c");
        List<String> listDigit3 = Arrays.asList("d", "e", "f");
        List<String> listDigit4 = Arrays.asList("g", "h", "i");
        List<String> listDigit5 = Arrays.asList("j", "k", "l");
        List<String> listDigit6 = Arrays.asList("m", "n", "o");
        List<String> listDigit7 = Arrays.asList("p", "q", "r", "s");
        List<String> listDigit8 = Arrays.asList("t", "u", "v");
        List<String> listDigit9 = Arrays.asList("w", "x", "y", "z");
        return null;
    }

    @Test
    public void test1() {
        String digits = "23";
        List<String> ans = Arrays.asList("ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf");
        Assert.assertEquals(ans, letterCombinations(digits));
    }
}
